home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 16 / CU Amiga Magazine's Super CD-ROM 16 (1997-10-16)(EMAP Images)(GB)[!][issue 1997-11].iso / CUCD / Online / HBBS / Source / Node / NodeGUI / NodeGUIMain.c < prev    next >
C/C++ Source or Header  |  1997-08-22  |  5KB  |  191 lines

  1. /* Compile me to get full executable. */
  2.  
  3. #include <stdio.h>
  4. #include "NodeGUI.h"
  5.  
  6. /* Cut the core out of this function and edit it suitably. */
  7.  
  8. void ProcessWindowNodeWnd( LONG Class, UWORD Code, APTR IAddress )
  9. {
  10. struct Gadget *gad;
  11. switch ( Class )
  12.     {
  13.     case IDCMP_GADGETUP :
  14.         /* Gadget message, gadget = gad. */
  15.         gad = (struct Gadget *)IAddress;
  16.         switch ( gad->GadgetID ) 
  17.             {
  18.             case NodeWnd_InitModem :
  19.                 /* Button pressed  , Text of gadget : Init Modem */
  20.                 break;
  21.             case NodeWnd_ChatNow :
  22.                 /* Button pressed  , Text of gadget : Chat */
  23.                 break;
  24.             case NodeWnd_Settings :
  25.                 /* Button pressed  , Text of gadget : Settings */
  26.                 break;
  27.             case NodeWnd_Information :
  28.                 /* Button pressed  , Text of gadget : Info */
  29.                 break;
  30.             case NodeWnd_Screen :
  31.                 /* Button pressed  , Text of gadget : Watch */
  32.                 break;
  33.             case NodeWnd_ChatFlag :
  34.                 /* Cycle changed   , Text of gadget :  */
  35.                 break;
  36.             case NodeWnd_OffHook :
  37.                 /* Cycle changed   , Text of gadget :  */
  38.                 break;
  39.             case NodeWnd_Reserve :
  40.                 /* Cycle changed   , Text of gadget :  */
  41.                 break;
  42.             }
  43.         break;
  44.     case IDCMP_CLOSEWINDOW :
  45.         /* CloseWindow Now */
  46.         break;
  47.     case IDCMP_REFRESHWINDOW :
  48.         GT_BeginRefresh( NodeWnd);
  49.         /* Refresh window. */
  50.     RendWindowNodeWnd( NodeWnd, NodeWndVisualInfo );
  51.         GT_EndRefresh( NodeWnd, TRUE);
  52.     GT_RefreshWindow( NodeWnd, NULL);
  53.     RefreshGList( NodeWndGList, NodeWnd, NULL, ~0);
  54.         break;
  55.     case IDCMP_VANILLAKEY :
  56.         /* Processed key press */
  57.         /* gadgets need processing perhaps. */
  58.         break;
  59.     }
  60. }
  61.  
  62. /* Cut the core out of this function and edit it suitably. */
  63.  
  64. void ProcessWindowInfoWin( LONG Class, UWORD Code, APTR IAddress )
  65. {
  66. struct Gadget *gad;
  67. switch ( Class )
  68.     {
  69.     case IDCMP_GADGETUP :
  70.         /* Gadget message, gadget = gad. */
  71.         gad = (struct Gadget *)IAddress;
  72.         switch ( gad->GadgetID ) 
  73.             {
  74.             case InfoWin_LV1_Cycle1 :
  75.                 /* Cycle changed   , Text of gadget :  */
  76.                 break;
  77.             case InfoWin_LV1 :
  78.                 /* ListView pressed, Text of gadget :  */
  79.                 break;
  80.             }
  81.         break;
  82.     case IDCMP_CLOSEWINDOW :
  83.         /* CloseWindow Now */
  84.         break;
  85.     case IDCMP_REFRESHWINDOW :
  86.         GT_BeginRefresh( InfoWin);
  87.         /* Refresh window. */
  88.     RendWindowInfoWin( InfoWin, InfoWinVisualInfo );
  89.         GT_EndRefresh( InfoWin, TRUE);
  90.     GT_RefreshWindow( InfoWin, NULL);
  91.     RefreshGList( InfoWinGList, InfoWin, NULL, ~0);
  92.         break;
  93.     }
  94. }
  95.  
  96. /* Cut the core out of this function and edit it suitably. */
  97.  
  98. void ProcessWindowSettingsWin( LONG Class, UWORD Code, APTR IAddress )
  99. {
  100. struct Gadget *gad;
  101. switch ( Class )
  102.     {
  103.     case IDCMP_GADGETUP :
  104.         /* Gadget message, gadget = gad. */
  105.         gad = (struct Gadget *)IAddress;
  106.         switch ( gad->GadgetID ) 
  107.             {
  108.             case SettingsWin_ScreenMode :
  109.                 /* Button pressed  , Text of gadget : Pick Mode */
  110.                 break;
  111.             case SettingsWin_WinOrScreen :
  112.                 /* Cycle changed   , Text of gadget :  */
  113.                 break;
  114.             case SettingsWin_ModemDebug :
  115.                 /* CheckBox changed, Text of gadget : Modem Debug */
  116.                 break;
  117.             case SettingsWin_ModemLog :
  118.                 /* CheckBox changed, Text of gadget : Modem Log */
  119.                 break;
  120.             case SettingsWin_AllowLogins :
  121.                 /* CheckBox changed, Text of gadget : Allow Logins */
  122.                 break;
  123.             case SettingsWin_SaveWin :
  124.                 /* Button pressed  , Text of gadget : Save Windows */
  125.                 break;
  126.             case SettingsWin_DeviceConfig :
  127.                 /* Button pressed  , Text of gadget : Device Config */
  128.                 break;
  129.             case SettingsWin_NodeConfig :
  130.                 /* Button pressed  , Text of gadget : Node Config */
  131.                 break;
  132.             case SettingsWin_CallersLog :
  133.                 /* Button pressed  , Text of gadget : Callers Log */
  134.                 break;
  135.             }
  136.         break;
  137.     case IDCMP_CLOSEWINDOW :
  138.         /* CloseWindow Now */
  139.         break;
  140.     case IDCMP_REFRESHWINDOW :
  141.         GT_BeginRefresh( SettingsWin);
  142.         /* Refresh window. */
  143.     RendWindowSettingsWin( SettingsWin, SettingsWinVisualInfo );
  144.         GT_EndRefresh( SettingsWin, TRUE);
  145.     GT_RefreshWindow( SettingsWin, NULL);
  146.     RefreshGList( SettingsWinGList, SettingsWin, NULL, ~0);
  147.         break;
  148.     }
  149. }
  150.  
  151.  
  152. int main(void)
  153. {
  154. int done=0;
  155. ULONG class;
  156. UWORD code;
  157. struct Gadget *pgsel;
  158. struct IntuiMessage *imsg;
  159. if (OpenLibs()==0)
  160.     {
  161.     OpenDiskFonts();
  162.     if (OpenNodeWndWindow()==0)
  163.         {
  164.         while(done==0)
  165.             {
  166.             Wait(1L << NodeWnd->UserPort->mp_SigBit);
  167.             imsg=GT_GetIMsg(NodeWnd->UserPort);
  168.             while (imsg != NULL )
  169.                 {
  170.                 class=imsg->Class;
  171.                 code=imsg->Code;
  172.                 pgsel=(struct Gadget *)imsg->IAddress; /* Only reference if it is a gadget message */
  173.                 GT_ReplyIMsg(imsg);
  174.                 ProcessWindowNodeWnd(class, code, pgsel);
  175.                 /* The next line is just so you can quit, remove when proper method implemented. */
  176.                 if (class==IDCMP_CLOSEWINDOW)
  177.                     done=1;
  178.                 imsg=GT_GetIMsg(NodeWnd->UserPort);
  179.                 }
  180.             }
  181.         
  182.         CloseNodeWndWindow();
  183.         }
  184.     else
  185.         printf("Cannot open window.\n");
  186.     CloseLibs();
  187.     }
  188. else
  189.     printf("Cannot open libraries.\n");
  190. }
  191.